home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.2 Development Libraries / SGI IRIX 6.2 Development Libraries.iso / dist / complib.idb / usr / share / catman / p_man / cat3 / complib / dsygv.z / dsygv
Text File  |  1996-03-14  |  5KB  |  133 lines

  1.  
  2.  
  3.  
  4. DDDDSSSSYYYYGGGGVVVV((((3333FFFF))))                                                            DDDDSSSSYYYYGGGGVVVV((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      DSYGV - compute all the eigenvalues, and optionally, the eigenvectors of
  10.      a real generalized symmetric-definite eigenproblem, of the form
  11.      A*x=(lambda)*B*x, A*Bx=(lambda)*x, or B*A*x=(lambda)*x
  12.  
  13. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  14.      SUBROUTINE DSYGV( ITYPE, JOBZ, UPLO, N, A, LDA, B, LDB, W, WORK, LWORK,
  15.                        INFO )
  16.  
  17.          CHARACTER     JOBZ, UPLO
  18.  
  19.          INTEGER       INFO, ITYPE, LDA, LDB, LWORK, N
  20.  
  21.          DOUBLE        PRECISION A( LDA, * ), B( LDB, * ), W( * ), WORK( * )
  22.  
  23. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  24.      DSYGV computes all the eigenvalues, and optionally, the eigenvectors of a
  25.      real generalized symmetric-definite eigenproblem, of the form
  26.      A*x=(lambda)*B*x,  A*Bx=(lambda)*x,  or B*A*x=(lambda)*x.  Here A and B
  27.      are assumed to be symmetric and B is also
  28.      positive definite.
  29.  
  30.  
  31. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  32.      ITYPE   (input) INTEGER
  33.              Specifies the problem type to be solved:
  34.              = 1:  A*x = (lambda)*B*x
  35.              = 2:  A*B*x = (lambda)*x
  36.              = 3:  B*A*x = (lambda)*x
  37.  
  38.      JOBZ    (input) CHARACTER*1
  39.              = 'N':  Compute eigenvalues only;
  40.              = 'V':  Compute eigenvalues and eigenvectors.
  41.  
  42.      UPLO    (input) CHARACTER*1
  43.              = 'U':  Upper triangles of A and B are stored;
  44.              = 'L':  Lower triangles of A and B are stored.
  45.  
  46.      N       (input) INTEGER
  47.              The order of the matrices A and B.  N >= 0.
  48.  
  49.      A       (input/output) DOUBLE PRECISION array, dimension (LDA, N)
  50.              On entry, the symmetric matrix A.  If UPLO = 'U', the leading N-
  51.              by-N upper triangular part of A contains the upper triangular
  52.              part of the matrix A.  If UPLO = 'L', the leading N-by-N lower
  53.              triangular part of A contains the lower triangular part of the
  54.              matrix A.
  55.  
  56.              On exit, if JOBZ = 'V', then if INFO = 0, A contains the matrix Z
  57.              of eigenvectors.  The eigenvectors are normalized as follows:  if
  58.              ITYPE = 1 or 2, Z**T*B*Z = I; if ITYPE = 3, Z**T*inv(B)*Z = I.
  59.              If JOBZ = 'N', then on exit the upper triangle (if UPLO='U') or
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. DDDDSSSSYYYYGGGGVVVV((((3333FFFF))))                                                            DDDDSSSSYYYYGGGGVVVV((((3333FFFF))))
  71.  
  72.  
  73.  
  74.              the lower triangle (if UPLO='L') of A, including the diagonal, is
  75.              destroyed.
  76.  
  77.      LDA     (input) INTEGER
  78.              The leading dimension of the array A.  LDA >= max(1,N).
  79.  
  80.      B       (input/output) DOUBLE PRECISION array, dimension (LDB, N)
  81.              On entry, the symmetric matrix B.  If UPLO = 'U', the leading N-
  82.              by-N upper triangular part of B contains the upper triangular
  83.              part of the matrix B.  If UPLO = 'L', the leading N-by-N lower
  84.              triangular part of B contains the lower triangular part of the
  85.              matrix B.
  86.  
  87.              On exit, if INFO <= N, the part of B containing the matrix is
  88.              overwritten by the triangular factor U or L from the Cholesky
  89.              factorization B = U**T*U or B = L*L**T.
  90.  
  91.      LDB     (input) INTEGER
  92.              The leading dimension of the array B.  LDB >= max(1,N).
  93.  
  94.      W       (output) DOUBLE PRECISION array, dimension (N)
  95.              If INFO = 0, the eigenvalues in ascending order.
  96.  
  97.      WORK    (workspace/output) DOUBLE PRECISION array, dimension (LWORK)
  98.              On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
  99.  
  100.      LWORK   (input) INTEGER
  101.              The length of the array WORK.  LWORK >= max(1,3*N-1).  For
  102.              optimal efficiency, LWORK >= (NB+2)*N, where NB is the blocksize
  103.              for DSYTRD returned by ILAENV.
  104.  
  105.      INFO    (output) INTEGER
  106.              = 0:  successful exit
  107.              < 0:  if INFO = -i, the i-th argument had an illegal value
  108.              > 0:  DPOTRF or DSYEV returned an error code:
  109.              <= N:  if INFO = i, DSYEV failed to converge; i off-diagonal
  110.              elements of an intermediate tridiagonal form did not converge to
  111.              zero; > N:   if INFO = N + i, for 1 <= i <= N, then the leading
  112.              minor of order i of B is not positive definite.  The
  113.              factorization of B could not be completed and no eigenvalues or
  114.              eigenvectors were computed.
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.